package com.business.exam.service;


import com.business.common.core.domain.AjaxResult;
import com.business.exam.domain.ExamPaperModel;
import com.business.exam.domain.exam.ExamPaperAutoModel;
import com.business.exam.domain.exam.ExamPaperEditRequestVM;
import com.business.student.domain.PaperFilter;
import com.business.student.domain.PaperInfo;

import java.util.List;
import java.util.Map;

public interface IExamPaperService {
    /**
     * 新增或修改信息
     *
     */
    public void saveOrEdit(ExamPaperEditRequestVM examPaperEditRequestVM);


    /**
     * 根据Id查询信息
     *
     * @param dto
     */
    public ExamPaperEditRequestVM findById(ExamPaperModel dto);

    /**
     * 更新数据
     *
     * @param paramMap
     */
    public void updateById(Map<String, Object> paramMap);

    /**
     * 分页查询
     *
     * @param dto
     */
    public List<ExamPaperModel> findPage(ExamPaperModel dto);


    /**
     * 学生查询考试
     *
     * @param paperFilter
     * @return
     */
    List<PaperInfo> indexPaper(PaperFilter paperFilter);


    ExamPaperEditRequestVM examPaperToVM(Integer id);

    /**
     * 删除数据
     *
     */
    public void logicDelete(Integer id);


    /**
     * 自动生成试卷
     *
     */
    public AjaxResult generatePaper(ExamPaperAutoModel dto);


}
